//
// Created by lenovo on 25-1-12.
//
#include <list>
namespace zzy
{
    template<class T>
    class queue
    {
    public:
        queue() = default;

        void push(const T &t)
        {
            _c.push_back(t);
        }
        void pop()
        {
            _c.pop_front();
        }
        T& front()
        {
            return _c.front();
        }
        T& back()
        {
            return _c.back();
        }
        bool empty()
        {
            return _c.empty();
        }
        size_t size()
        {
            return _c.size();
        }

    private:
        std::list<T> _c;
    };
}